package models

import (
	"gorm.io/gorm"
	"time"
)

type Users struct {
	Id        int64          `gorm:"column:id;type:bigint;primaryKey;not null;" json:"id"`
	Tel       string         `gorm:"column:tel;type:char(11);not null;" json:"tel"`
	Password  string         `gorm:"column:password;type:varchar(255);not null;" json:"password"`
	CreatedAt time.Time      `gorm:"column:created_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"created_at"`
	UpdateAt  time.Time      `gorm:"column:update_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"update_at"`
	DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3);default:NULL;" json:"deleted_at"`
}
type Exams struct {
	Id               int32     `gorm:"column:id;type:int;primaryKey;not null;" json:"id"`
	Type             string    `gorm:"column:type;type:varchar(255);comment:组卷类型;not null;" json:"type"`                               // 组卷类型
	ExamName         string    `gorm:"column:exam_name;type:varchar(255);comment:试卷名称;not null;" json:"exam_name"`                     // 试卷名称
	ExamType         string    `gorm:"column:exam_type;type:varchar(255);comment:试卷类型;default:NULL;" json:"exam_type"`                 // 试卷类型
	ExamStrartime    time.Time `gorm:"column:exam_strartime;type:datetime;comment:考试开始时间;default:NULL;" json:"exam_strartime"`         // 考试开始时间
	ExamOrder        string    `gorm:"column:exam_order;type:varchar(255);comment:试题排列顺序类型;default:NULL;" json:"exam_order"`           // 试题排列顺序类型
	OptionOrder      string    `gorm:"column:option_order;type:varchar(255);comment:选项排列顺序;default:NULL;" json:"option_order"`         // 选项排列顺序
	ExamScore        string    `gorm:"column:exam_score;type:varchar(255);comment:总分;default:NULL;" json:"exam_score"`                 // 总分
	PassingScore     string    `gorm:"column:passing_score;type:varchar(255);comment:及格分数;default:NULL;" json:"passing_score"`         // 及格分数
	ExamInstructions string    `gorm:"column:exam_instructions;type:varchar(255);comment:考试须知;default:NULL;" json:"exam_instructions"` // 考试须知
	Examiner         string    `gorm:"column:examiner;type:varchar(255);comment:阅卷人;default:NULL;" json:"examiner"`                    // 阅卷人
	ExamEndtime      time.Time `gorm:"column:exam_endtime;type:datetime;comment:考试结束时间;default:NULL;" json:"exam_endtime"`             // 考试结束时间
	CreateAt         time.Time `gorm:"column:create_at;type:datetime(3);default:NULL;" json:"create_at"`
	UpdateAt         time.Time `gorm:"column:update_at;type:datetime(3);default:NULL;" json:"update_at"`
	DeleteAt         time.Time `gorm:"column:delete_at;type:datetime(3);default:NULL;" json:"delete_at"`
	Status           string    `gorm:"column:status;type:varchar(255);default:NULL;" json:"status"`
}
